Practise yourself, for heaven's sake in little things;
and thence proceed to greater.
CBT Audio Users Manual
(c) 1989 Jerry J. Trantow
1560 A. East Irving Place
Milwaukee, Wi 53202-1460
I.Introduction
CBT is an 8SVX digitized sound editor. If you don't understand digitized sound there are plenty of books on the subject, but I think you can gat a grasp of the representation just from playing with this program. CBT has all the Amiga Intuition features that should make it very intuitive to use.
AT LEAST READ THIS
You can browse through this document to get an idea of what is possible or you can skip the reading until you get stuck. The most confusing thing that will probably come up is that you must have a project window active in order to play or edit a sound. The next confusing thing is the meaning of the three gadgets in the upper right of each window. They are the PLAY_ALL, PLAY_WINDOW, and PLAY_SELECT gadgets. Try them out and have fun!
Manual OUTLINE
I.Introduction
II.User Interface
1.Gadgets
A.Window Gadgets
B.Scroll Gadgets
C.Play Gadgets
2.Menus
A.Project
B.Edit
C.Play
D.Zoom
E.Format
F.Special
G.FFT (Frequency Analysis)
3.Pointers
A.Normal
B.Busy
C.Select
4.Requesters
A. Project_About
B.Project_Open
C.Project_Save As
D.Project_Print
E.Play_Multiple
F.Format_Colors
G.Format_Fonts
H.Special_Amplify
I.Special_Filter
J.Special_Frequency
K.Special_Echo
III.WorkBench Support
1.Extended Selects
2.Tool ToolTypes
3.Project ToolTypes
IV.Future
II.User Interface
1.Gadgets
A.Window Gadgets
1.Close - Standard Amiga Gadget that will close the individual project. If there are unsaved modifications to the project the SaveAs Requester will pop up before the project is closed.
2.Sizing - Standard Amiga Gadget
3.Window to Front - Standard Amiga Gadget
4.Window to Back - Standard Amiga Gadget
5.Minimize/Restore - Specially designed Gadget that will change the window dimensions to the minimum values. Clicking again will restore the original dimensions. Please note that the window dimension and position is saved in the WINDOW= ToolType whenever the file is saved and AUTO_PREF=Y.
6.Maximize/Restore - Specially designed Gadget that will change the window dimensions to nearly maximum values. Nearly maximum window settings cover everything except for the screen title. The entire screen can be covered with manual drag and sizing operations. Clicking again will restore the original dimensions. Please note that the window dimension and position is saved in the WINDOW= ToolType whenever the file is saved and AUTO_PREF=Y.
B.Scroll Gadgets
The scroll gadgets allow you to scroll the visible portion of the project. The scroll gadgets only work in the zoom mode, because there is no sense in scrolling if everything is visible.
1.Scroll Backward Arrow - This gadget moves the visible portion by one sample. There maybe more than one digitized value displayed with one screen pixel so this is not very practical unless you are in an extreme zoom.
2.Move Backward Arrow - This gadget moves the visible portion by one screen pixel. While this is faster than the scroll arrow, this is still a very fine adjustment.
3.Proportional Scroll - The proportional scroll is the most useful scroll gadget. The body shows you how much of the total project is visible in the window and the position of the body illustrates what portion is visible in the window. The gadget can be dragged or clicking inside the box will move one screen at a time.
4.Move Foreward Arrow - see Move Backward (mutatis mutandis)
5.Scroll Foreward Arrow - see Scroll Backward (mutatis mutandis)
C.Play Gadgets
The three gadgets in the upper right of the window all provide methods of playing all or part of the sound.
1.Play_All - Selecting this gadget will play the entire sample of the active window.
2.Play_Window - Selecting this gadget will play the portion of the active window that is visible.
3.Play_Select - Selecting this gadget will play only the selected portion of the active project. Please note that if nothing is selected nothing will happen when this gadget is selected.
2.Menus
Menu selections list the features possible with the program. Operations that are not available are ghosted and menu selections that will bring up a requester for further selections are followed with "..." .
A.Project - The project menu items handle the general operations of the handling projects.
1.Project_About... - See File_Requester
2.Project_Open... - This brings up the file requester and opens up a project window.
3.Project_New - This will open a project window and allocate all the gadgets and resources. If the buffer is pasted to a new project the new project will take on the attributes (frequency, volume) of the first paste.
4.Project_Save - This will save the active project under the current name.
5.Project_SaveAs... - see File_Requester
6.Project_Print... - Until I devote more time into flexible print routines and add a requester the print menu item calls TOOLS:GraphicDump. You should assign TOOLS: so CBTAudio can find GraphicDump.
7.Project_Quit - This will close all open projects, free up all the program resources and exit the program. If any projects were modified a Save File Requester will pop up before the modified project is closed.
B.Edit
The edit menu items provide ways to delete and add samples to the projects. Samples can be cut or copied to a buffer and pasted in another location in the same project or copied to an entirely different project. Unfortunately the buffer is internal to the program and does not get copied to the system clipboard.
1.Edit_Cut - Selecting Edit_Cut will cut the selected portion out of the active project and into the buffer.
2.Edit_Paste - Selecting Edit_Paste will paste the buffer to the present location in the active project. The buffer will still maintain a copy of the paste.
3.Edit_Copy - Selecting Edit_Copy will make a copy of the selected region and place it in the buffer.
4.Edit_Keep - Selecting Edit_Keep will remove the samples on either side of the selected portion of the active project. Nothing gets copied to the buffer.
5.Edit_Insert - N/A
6.Edit_SelectAll - Selecting Edit_SelectAll is the same as doing a select drag over the entire project. This is a fast way to manipulate the entire project. Nothing gets copied to the buffer.
C.Play
The play menu selections provide methods to play the active project. The entire sample is played.
1.Play_Infinite - This option plays the sound an infinite number of times. I had to disable this option when I went to synchronous audio I/O. I will enable this option when I switch over to double buffered I/O.
2.Play_Once - This is equivalent to selecting the Play_All gadget.
3.Play_Multiple... This brings up a requester that asks how many times the active project should be played.
D.Zoom
The zoom option is almost a necessity for examining the digitized samples. To do a zoom you must select a portion of the project. (Selecting is accomplished by a left mouse button click-hold-drag operation.)
1.Zoom_In - Zoom_In displays only the selected region of the project. Multiple zooms can reveal as much detail as you care to examine. Notice that zooms are very useful for editing and that the scroll gadgets can help you move around while in the zoom mode.
2.Zoom_Out - Zoom_Out restores the display to showing the entire project.
E.Format
The Format menu options allow the user to change the preferences of the program. These changes are saved in the ToolType array and will be used on subsequent use.
1.Colors - This menu selection calls TOOLS:palette. This program is distributed in the WB1.3:/Tools directory. You must assign TOOLS: to the directory where this program (and GraphicDump) can be found.
2.Fonts - N/A
3.Style - N/A
4.Lace - N/A
F.Special
The special menu items allow the samples to be manipulated by "special" operations. Some act on just the selected portion of the project, while others operate on the entire project.
1.Special_Amplify... - see Requester (only on selected portion)
2.Special_Filter... - N/A
3.Special_Reverse - This reverses the order of the selected portion of the project. (only on selected portion)
4.Special_Frequency... - see Requester (global modifier)
5.Special_Echo... - N/A
G.FFT (Fast Fourier Transform)
The FFT frequency analysis menu items allow the projects to be displayed in terms of frequency instead of consecutive time samples. The FFT window shows the magnitude of the frequency components in decibels referenced to the maximum amplitude sine wave. The size of the FFT window depends on the number of lines in the analysis.
1.FFT_Size - This option allows the size of the frequency transform to be selected. The FFT_SIZE_Clear subitem will free all the memory used for frequency analysis. The other subitems (FFT_SIZE_8,9,&10) select the base two size of the transform. (i.e. 2^8 = 256 line frequency analysis)
2.FFT_Single - Selecting FFT_Single will perform a Fast Fourier Transform on the selected region of the active project. The transform is performed on the first samples of the selected region. If the number of samples in the selected region is less than the transform size a zero fill is done. If the number in the selected region is greater than the transform size the extra samples are neglected.
3.FFT_WaterFall - N/A
3.Pointers - The images used for the pointer convey information on the current state of the program. Hopefully the pointers I have chosen will make sense to you.
A.Normal - The normal pointer that can be set via preferences.
B.Busy - A special pointer that pops up when the Project window is updating or the program is calculating the FFT.
C.Select - A special narrow pointer for selecting (highlighting) samples in the project window. Only mouse movements within the project borders are valid.
4.Requesters - Requesters pop up when more information is required than can be handled in the menu. You may notice that the File Requester looks familiar. The File Requester is the standard ARP File Requester and is the reason that you must have ARP.library in your LIBS: directory. You do NOT have to have any of the ARP replacement commands (although I recommend them) to run this program.
A. Project_About - The Project_About requester is a little bit of self promotion that also gives you some information on how recent this version is.
B.File_Requester - The file requester is the standard ARP requester. See the ARP literature for a complete description.
C.Play_Multiple - This requester prompts for the number of times to play the active project.
F.Format_Colors - This actually starts the TOOLS:palette program but it looks and acts like a requester. Playing with the requester gadgets will immediately show you the effects of playing with the colors. The colors are saved in the COLORS= ToolType when you exit the program. G.Format_Fonts - N/A
H.Special_Amplify - The amplify requester auto ranges the selection in the active project and suggests an appropriate % factor to amplify the selection to full scale. If you choose a number greater than the auto ranged value, at least some of the samples will be clipped. Clipping restricts the sample values to be within the legal range. Choosing a number smaller than the suggested value will result in attenuating the selection.
I.Special_Filter - N/A
J.Special_Frequency - The frequency requester displays the sample frequency and allows you to modify it.
K.Special_Echo - N/A
III.WorkBench Interface
What I consider to be a proper workbench interface covers many areas. I believe that with the proper workbench interface there is no reason to use the CLI for running tools (application programs). I consider the workbench interface to include how the tool is launched and how it interacts with other programs. Using this definition includes the .info files, the multi-tasking virtue, preferences, and sharing data whether thru the Clipboard or AREXX. It is a shame that while we can multi-task better than the other PCs, we still can not share data as easily as the Mac Clipboard. (And after all this self righteous bitching, I still don't implement the ClipBoard, Oh well, maybe next week) One problem with the workbench interface is that when an icon is changed the system does not recognize the change until the window it is in is closed and reopened. If you change defaults and then exit the changes will not go into effect until you close and reopen the window that the tool or project is in.
1. Extended Selects
One Amiga feature that has not been extensively used by other programs is the .info ToolTypes parameters. I suggest you an extended select to start multiple projects. To perform an extended select hold the shift key and select several projects before double clicking. In order to use the defaults, the tool icon must be selected before or with the double click.
2. Tool ToolTypes - The ToolTypes in the Tool contain the defaults to use when the tool is invoked. I check the Tool.info for the following ToolTypes.
ICON=fileName Name of default ICON (does not have to be a PROJECT)
COLOR=0xfff,... Hex values for screen colors
OPENSND=fileName Sound to play when program starts
LAST_DIR= last Directory used in file requester
AUTO_PLAY=Y Play the Project when it is opened
AUTO_PREF=Y This en/disables the automatic saves to the .info files
AUTO_ICON=Y Saves with default Icon if the file doesn't have an Icon
DELAY=3 Number of seconds to delay when exiting tool
FLUSH=Y Flushes Libraries and Fonts when exiting
WINDOW= Use this and DELAY= to see debugging messages
FONT1=Not implemented Yet
FONT2=Not implemented Yet
ERROR_BEEP= Not Implemented Yet
PLUS_MORE_TO_COME.....
3. Project ToolTypes - The project tooltypes hold information that is specific to how the tool will display this project.
I check the project .info for the following tooltypes.
FILETYPE=8SVX
WINDOW= Dimensions and position to open the project window
IV.Future
In the near future I expect to add support for the clipboard and AREXX. I have also laid out the code for double buffered sound which would require less CHIP ram. I also have some code that uses volume modulation, but it is going to take some work to figure out how to reconcile the direct use of the audio registers. I will also add in stereo sound, probably with the double buffering. I had some code doing resampling and filtering under the special menu, but these need further thought before release. All of the Requesters need to be gussied up. I also intend on adding tooltypes so the data for the pointers and backdrop window can be modified by the user. Probably the biggest improvement I would like to make is to link the program through AREXX to a UltraCard help stack. I considered purchasing UltraCard and releasing this file as a help stack but the version of the browser I saw was extremely buggy. If anyone has positive experience with UltraCard let me know.